#pragma once

struct IntPoint
{
	int x;
	int y;

	IntPoint() : x(0), y(0) {}
	IntPoint(int _x, int _y) : x(_x), y (_y) {}

	bool operator == (const IntPoint other) const {return x == other.x && y == other.y;}
};

struct IntSize
{
	int width;
	int height;

	IntSize() : width(0), height(0) {}
	IntSize(int _x, int _y) : width(_x), height(_y) {}
};

struct IntRect
{
	IntPoint origin;
	IntSize size;

	IntRect() {}
	IntRect(int x, int y, int width, int height) : origin(x, y), size(width, height) {}

	bool hitTest(int x, int y) const;
	bool hitTest(const IntPoint& point) const;
};